package com.love.cloud.admin.controller;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.love.cloud.admin.api.entity.SysRoleZzdUser;
import com.love.cloud.admin.service.SysRoleZzdUserService;
import com.love.cloud.common.log.annotation.SysLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;

/**
 * 系统角色和浙政钉关联表(SysRoleZzdUser)表控制层
 *
 * @author hongdongqu
 * @since 2022-04-12 15:50:24
 */
@Api(tags = "系统角色和浙政钉关联表")
@RestController
@RequestMapping("sysRoleZzdUser")
public class SysRoleZzdUserController {
    /**
     * 服务对象
     */
    @Resource
    private SysRoleZzdUserService sysRoleZzdUserService;

    /**
     * 分页查询所有数据
     *
     * @param sysRoleZzdUser 查询实体
     * @return 所有数据
     */
    @GetMapping("/page")
    @ApiOperation(value = "分页列表")
    public Page<SysRoleZzdUser> pageInfo(SysRoleZzdUser sysRoleZzdUser) {
        return this.sysRoleZzdUserService.pageInfo(sysRoleZzdUser);
    }

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("/view/{id}")
    @ApiOperation(value = "详情")
    public SysRoleZzdUser view(@PathVariable Serializable id) {
        return this.sysRoleZzdUserService.getById(id);
    }

    /**
     * 新增数据
     *
     * @param sysRoleZzdUser 实体对象
     * @return 新增结果
     */
    @PostMapping("/add")
    @ApiOperation(value = "新增")
    @SysLog("系统角色和浙政钉关联表新增")
    public Object add(@RequestBody SysRoleZzdUser sysRoleZzdUser) {
        return this.sysRoleZzdUserService.add(sysRoleZzdUser);
    }

    /**
     * 批量新增
     *
     * @param sysRoleZzdUserList 实体对象
     * @return 新增结果
     */
    @PostMapping("/addBatch")
    @ApiOperation(value = "批量新增")
    @SysLog("系统角色和浙政钉关联表新增-批量")
    public Object addBatch(@RequestBody List<SysRoleZzdUser> sysRoleZzdUserList) {
        return this.sysRoleZzdUserService.addBatch(sysRoleZzdUserList);
    }

    /**
     * 修改数据
     *
     * @param sysRoleZzdUser 实体对象
     * @return 修改结果
     */
    @PutMapping("/update")
    @ApiOperation(value = "修改")
    @SysLog("系统角色和浙政钉关联表修改")
    public Object update(@RequestBody SysRoleZzdUser sysRoleZzdUser) {
        return this.sysRoleZzdUserService.update(sysRoleZzdUser);
    }

    /**
     * 删除数据
     *
     * @param id 主键结合
     * @return 删除结果
     */
    @DeleteMapping("/remove/{id}")
    @ApiOperation(value = "单条删除")
    @SysLog("系统角色和浙政钉关联表单条删除")
    public Object remove(@PathVariable Long id) {
        return this.sysRoleZzdUserService.delete(id);
    }

    /**
     * 批量删除
     *
     * @param idList 主键结合
     * @return 删除结果
     */
    @DeleteMapping("/removes")
    @ApiOperation(value = "批量删除")
    @SysLog("系统角色和浙政钉关联表批量删除")
    public Object removes(@RequestParam("idList") List<Long> idList) {
        return this.sysRoleZzdUserService.removeByIds(idList);
    }
}

